package com.jinduplan.planmanager.mvp.contract

import com.cxz.kotlin.baselibs.bean.BaseBean
import com.cxz.kotlin.baselibs.mvp.IModel
import com.cxz.kotlin.baselibs.mvp.IPresenter
import com.cxz.kotlin.baselibs.mvp.IView
import com.jinduplan.planmanager.bean.*
import io.reactivex.rxjava3.core.Observable

/**
 * @author admin
 * @date 2018/11/20
 * @desc
 */
interface ClockInContract {

    interface View : IView {

        fun clockInSuccess()
        fun uploadPicSuccess()
        fun uploadPicSuccess(picUrl:String)
        fun postProjectLocationSuccess(uploadProjectLocation: UploadProjectLocation)
        fun setProjectUploadDetailListData(projectData: BuildingNameBean)


    }

    interface Presenter : IPresenter<View> {
        fun uploadClockInPic(file: String, longtitue: Long, latitue: Long, projectid: String)
        fun clockIn(file: String, longtitue: String, latitue: String, projectid: String)
        fun postProjectLocation(
            project_id: String,
            addr_name: String,
            address: String,
            lat: String,
            lon: String,
            building_id: String,
            province: String,
            city: String,
            county: String,
            address_detail: String
        )
        fun getProjectUploadDetailList(project_id: Int)

    }

    interface Model : IModel {
        fun clockIn(file:String,longtitue: String,latitue:String, projectid: String):Observable<HttpResult<ClockinSuccess>>
        fun uploadClockInPic(file: String):Observable<HttpResult<PicUploadSuccess>>
        fun postProjectLocation(
            project_id: String,
            addr_name: String,
            address: String,
            lat: String,
            lon: String,
            building_id: String,
            province: String,
            city: String,
            county: String,
            address_detail: String):Observable<HttpResult<UploadProjectLocation>>
        fun getProjectUploadDetailList(project_id: Int):Observable<HttpResult<BuildingNameBean>>


    }

}